$(function() {
    
    //---- inicializar Tabs Estibadores, servicios
    $( "#tabs" ).tabs();
    
    //--- inicialmente los oculto a todos
    $(".TR_TipoCarga_CargaSuelta").hide();
    $(".TR_TipoCarga_Contenedor").hide();
    
    //--- los oculto y muestro deacuerdo al valor seleccionado
    $("#codMaeOperacionIdent").change(function () {
        var value = $( "#codMaeOperacionIdent option:selected" ).val();
        switch(value){
            case "CONT":
                $(".TR_TipoCarga_CargaSuelta").hide("slow");
                $(".TR_TipoCarga_Contenedor").show("slow");
              break;
            case "CSUE":
                $(".TR_TipoCarga_CargaSuelta").show("slow");
                $(".TR_TipoCarga_Contenedor").hide("slow");
              break;
            default:
                $(".TR_TipoCarga_CargaSuelta").hide("slow");
                $(".TR_TipoCarga_Contenedor").hide("slow");
            }
    });
    
    
    var id = getUrlValues("id");
    var controlador = $("#controlador").val();
    var operacion = $("#operacion").val();
    $("#id").val(id);
    
    //--- con esto me aseguro de que los datos de cabecera se cargaran despues de los combobox
    //setTimeout(function() { GetHeader(id ,controlador,operacion); },750);
    
    //Header Information
    GetHeader(id ,controlador,operacion);

    //--- guardar reconocimiento
    $(document).on("click","#link_guardar_OrdTrabajo",function(){
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajo.actualizar")!==""){return;}
        //--- Continuo con la operacion            
       
        var id = $("#id").val();
        
        $.ajax({ type: "POST",
            url: "../controlador/OrdTrabajo.php",
            dataType: 'json',
            data:  $("#frmInformacionGeneral").serialize()+"&OPERACION=update&id="+getUrlValues("id")+"&controlador=OrdTrabajo",
            cache : false,
            success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    return;
                }if(item.hasOwnProperty("id")){
                    $("#id").val(item.id);
                }
                if(item.hasOwnProperty("codOrdTrabajoRecMercancia")){
                    $("#divInformacionGeneral").find("#codOrdTrabajoRecMercancia").val(item.codOrdTrabajoRecMercancia);
                    //alert(item.codOrdTrabajoRecMercancia);
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
            }
        });
    });
    
    //Agregar estibadores
    $(document).on("click","#add_estibador",function(e) {        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoEstibador.agregar")!==""){return;}
        //--- Continuo con la operacion            
       
        $.ajax({
            type: "POST",
            url: "../controlador/OrdTrabajoEstibador.php",
            data: "OPERACION=insert&controlador=OrdTrabajoEstibador&activo=on&observaciones=N/A&codOrdTrabajo="+$("#codOrdTrabajo").val()+"&codEstibador="+$("#codEstibador").val()+"",
            dataType: 'json',
            cache : false,
            success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{  
                    //--- inserto la nueva fila
                    var rowEstibadores="<tr id='"+item.id+"'><td>"+$("#codEstibador option:selected").text()+"</td><td>&nbsp;<img class='icon-remove-OrdTrabajoEstibador' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'></td></tr>";
                    $( "#tabla_OrdTrabajoEstibador tbody" ).append(rowEstibadores);    
                    //--- limpio los campos
                    $("#codEstibador").val("");
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
        return false;           
    });
    
    //Borrar estibadores
    $(document).on("click",".icon-remove-OrdTrabajoEstibador",function(e) {        
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoEstibador.eliminar")!==""){return;}
        //--- Continuo con la operacion            
       
        var r=confirm("Desea Eliminar el registro?");
        if (r===false){
          return;
        }
        
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        
        $.ajax({
            type: "POST",
            url: "../controlador/OrdTrabajoEstibador.php",
            data: "OPERACION=delete&id="+id+"&controlador=OrdTrabajoEstibador",
            dataType: 'json',
            cache : false,
            success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{                            
                    tr.css("background-color","#FF3700");
                        tr.fadeOut(400, function(){
                            tr.remove();
                        });
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
        return false;           
    });

    //Agregar Servicios
    $(document).on("click","#add_servicio",function(e) {        
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.agregar")!==""){return;}
        //--- Continuo con la operacion            
       
        $.ajax({
            type: "POST",
            url: "../controlador/OrdTrabajoServicio.php",
            data: "OPERACION=insert&controlador=OrdTrabajoServicio&activo=on&codOrdTrabajo="+$("#codOrdTrabajo").val()+"&observaciones="+$("#observaciones_servicio").val()+"&codMaeServicio="+$("#codMaeServicio").val()+"&cantidad="+$("#cantidad_servicio").val(),
            dataType: 'json',
            cache : false,
            success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{  
                    //--- inserto la nueva fila
                    var rowServicio=""
                    rowServicio=rowServicio+"<tr id='"+item.id+"'><td>"+$("#codMaeServicio option:selected").text()+"</td>";
                    rowServicio=rowServicio+"<td>"+$("#cantidad_servicio").val()+"</td>";
                    rowServicio=rowServicio+"<td>"+$("#observaciones_servicio").val()+"</td>";
                    rowServicio=rowServicio+"<td>";
                    rowServicio=rowServicio+"&nbsp;<img class='icon-remove-OrdTrabajoServicio' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'>";
                    rowServicio=rowServicio+"&nbsp;&nbsp;<img class='icon-evento' id='icon-evento' src='../recursos/imagenes/evento.png' title='Anexar Evento'>";
                    rowServicio=rowServicio+"&nbsp;&nbsp;<img class='icon-comment' id='icon-comment' src='../recursos/imagenes/comment.png' title='Anexar FeedBack'>";
                    rowServicio=rowServicio+"</td>";
                    rowServicio=rowServicio+"</tr>";
                    $( "#Tabla_OrdTrabajoServicio tbody" ).append(rowServicio);    
                    //--- limpio los campos
                    $("#codMaeServicio").val("");
                    $("#cantidad_servicio").val("");
                    $("#observaciones_servicio").val("");
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
        return false;           
    });
    
    //Borrar servicio
    $(document).on("click",".icon-remove-OrdTrabajoServicio",function(e) {        
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.eliminar")!==""){return;}
        //--- Continuo con la operacion            
       
        var r=confirm("Desea Eliminar el registro?");
        if (r===false){
          return;
        }
        
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        
        $.ajax({
            type: "POST",
            url: "../controlador/OrdTrabajoServicio.php",
            data: "OPERACION=delete&id="+id+"&controlador=OrdTrabajoServicio",
            dataType: 'json',
            cache : false,
            success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{                            
                    tr.css("background-color","#FF3700");
                        tr.fadeOut(400, function(){
                            tr.remove();
                        });
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
        return false;           
    });
    
    // abrir ventana Feedback
    $(document).on("click",".icon-comment",function(e) {    
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.consultarFeedback")!==""){return;}
        //--- Continuo con la operacion            
       
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        var $idServicio = $("#idOrdTrabajoServicio");
        
        //-- cargo la grilla con las fotos asociadas al item
        cargarDatosGrillaDesdeControlador("OrdTrabajoServicioFeedBack","OrdTrabajoServicioFeedBack","selectByIdOrdTrabajoServicioHTMLTableFormat","idOrdTrabajoServicio="+id);
        
        $idServicio.val(id);
        
        $( "#divFeedback" ).dialog( "open" );
    });
    //--- Agregar FeedBack
    $(document).on("click","#lnk_agregar_feedback",function(e) {    
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.agregarFeedback")!==""){return;}
        //--- Continuo con la operacion            
       
        $.ajax({
             type: "POST",
             url: "../controlador/OrdTrabajoServicioFeedBack.php",
             data: "OPERACION=insert&controlador=OrdTrabajoServicioFeedBack&activo=on&idOrdTrabajoServicio="+$("#idOrdTrabajoServicio").val()+"&observaciones="+$("#divFeedback").find("#observaciones").val()+"",
             dataType: 'json',
             cache : false,
             success: function(item){
                 if(item.hasOwnProperty("ERROR")){
                     showPopupBoxMessage(item.ERROR);
                     //$("#generalerror").append(item.ERROR);
                 }else{  
                     //--- inserto la nueva fila
                     var rowFeedback="<tr id='"+item.id+"'><td>"+$("#divFeedback").find("#observaciones").val()+"</td><td>&nbsp;<img class='icon-remove-OrdTrabajoServFeedBack' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'></td></tr>";
                     $( "#OrdTrabajoServicioFeedBack tbody" ).append(rowFeedback);  
                     
                     //--- balnque los campos
                     $("#divFeedBack").find('input[type="text"],input[type="password"],select,textarea,input[type="hidden"],input[type="number"]').each(
                        function(index){
                            $(this).val("");
                        }
                    );
                 }
             },error :function(request, status, error){
                 showPopupBoxMessage(error);
                 //showPopupBoxMessage(item.ERROR);
             }
         });
         return false;   
    });
    //--- Eliminar FeedBack
    $(document).on("click",".icon-remove-OrdTrabajoServFeedBack",function(e) {    
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.eliminarFeedback")!==""){return;}
        //--- Continuo con la operacion            
       
        var r=confirm("Desea Eliminar el registro?");
        if (r===false){
          return;
        }
        
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        
        $.ajax({
             type: "POST",
             url: "../controlador/OrdTrabajoServicioFeedBack.php",
             data: "OPERACION=delete&controlador=OrdTrabajoServicioFeedBack&id="+id,
             dataType: 'json',
             cache : false,
             success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{                            
                    tr.css("background-color","#FF3700");
                        tr.fadeOut(400, function(){
                            tr.remove();
                        });
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
    });

    
    // abrir ventana Evento
    $(document).on("click",".icon-evento",function(e) {    
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.consultarEvento")!==""){return;}
        //--- Continuo con la operacion            
       
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        var $idServicio = $("#idOrdTrabajoServicio");
        
        //-- cargo la grilla con las fotos asociadas al item
        cargarDatosGrillaDesdeControlador("OrdTrabajoServicioEvento","OrdTrabajoServicioEvento","selectByIdOrdTrabajoServicioHTMLTableFormat","idOrdTrabajoServicio="+id);
        
        $idServicio.val(id);
        
        $( "#divEvento" ).dialog( "open" );
    });
    //--- Agregar Evento
    $(document).on("click","#lnk_agregar_evento",function(e) {    

        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.agregarEvento")!==""){return;}
        //--- Continuo con la operacion            
       
        $.ajax({
             type: "POST",
             url: "../controlador/OrdTrabajoServicioEvento.php",
             data: "OPERACION=insert&controlador=OrdTrabajoServicioEvento&idOrdTrabajoServicio="+$("#idOrdTrabajoServicio").val()+"&codMaeEventoTipo="+$("#codMaeEventoTipo").val()+"&observaciones="+$("#divEvento").find("#observaciones").val()+"",
             dataType: 'json',
             cache : false,
             success: function(item){
                 if(item.hasOwnProperty("ERROR")){
                     showPopupBoxMessage(item.ERROR);
                     //$("#generalerror").append(item.ERROR);
                 }else{  
                     //--- inserto la nueva fila
                     var rowEvento="<tr id='"+item.id+"'><td>"+$("#divEvento").find("#codMaeEventoTipo").val()+"</td><td>"+$("#divEvento").find("#observaciones").val()+"</td><td>&nbsp;<img class='icon-remove-OrdTrabajoServEvento' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'></td></tr>";
                     $( "#OrdTrabajoServicioEvento tbody" ).append(rowEvento);    
                     //--- balnque los campos
                     $("#divEvento").find('input[type="text"],input[type="password"],select,textarea,input[type="hidden"],input[type="number"]').each(
                        function(index){
                            $(this).val("");
                        }
                    );
                 }
             },error :function(request, status, error){
                 showPopupBoxMessage(error);
                 //showPopupBoxMessage(item.ERROR);
             }
         });
         return false;   
    });
    //--- Eliminar Evento
    $(document).on("click",".icon-remove-OrdTrabajoServEvento",function(e) {    
        
        //--- valido los permisos del usuario en session
        if(validarPermisoUsuarioSession("OrdTrabajoServicio.eliminarEvento")!==""){return;}
        //--- Continuo con la operacion            
       
        var r=confirm("Desea Eliminar el registro?");
        if (r===false){
          return;
        }
        
        var tr = $(this).closest('tr');
        var id = tr.attr( "id" );
        
        $.ajax({
             type: "POST",
             url: "../controlador/OrdTrabajoServicioEvento.php",
             data: "OPERACION=delete&controlador=OrdTrabajoServicioEvento&id="+id,
             dataType: 'json',
             cache : false,
             success: function(item){
                if(item.hasOwnProperty("ERROR")){
                    showPopupBoxMessage(item.ERROR);
                    //$("#generalerror").append(item.ERROR);
                }else{                            
                    tr.css("background-color","#FF3700");
                        tr.fadeOut(400, function(){
                            tr.remove();
                        });
                }
            },error :function(request, status, error){
                showPopupBoxMessage(error);
                //showPopupBoxMessage(item.ERROR);
            }
        });
    });
    
    //--- limpar campos FeedBack y evento
    $( "#divFeedback,#divEvento" ).dialog({
          autoOpen: false,
          height: 'auto',
          width:'auto',
          modal: true,
          buttons: {
            Cancelar: function() {
              $( this ).dialog( "close" );
            }
          },
          close: function() {     
            $(this).find('input[type="text"],input[type="password"],select,textarea,input[type="hidden"],input[type="number"]').each(
                function(index){
                    $(this).val("");
                }
            );
          }
    }); 
 
});

function fillData(item){
    
    $("#codMaeOperacionPuerto").val(item.codMaeOperacionPuerto);
    $("#codOrdTrabajo").val(item.codOrdTrabajo);
    $("#fechaRegistro").val(item.fechaRegistro);
    $("#codOperacionInterna").val(item.codOperacionInterna);
    $("#codMaeOperacionTipo").val(item.codMaeOperacionTipo);
    $("#codMaeOperacionIdent").val(item.codMaeOperacionIdent);
    $("#codMaeContenedorTipo").val(item.codMaeContenedorTipo);
    $("#codMaeMercanciaTipo").val(item.codMaeMercanciaTipo);
    $("#numero").val(item.numero); 
    $("#codResponsable").val(item.codResponsable); 
    //$("#codMaeCliente1").val(item.codMaeCliente1); 
    //$("#codMaeCliente2").val(item.codMaeCliente2); 
    $("#consignatario").val(item.consignatario); 
    $("#codMaeContenedorTamano").val(item.codMaeContenedorTamano);         
    
    //--- cargo el select de clientes y selecciono el cliente de la lista
    $.ajax({
        type: "POST",
        //async:false,
        url: "../controlador/MaeCliente.php",
        data: "OPERACION=selectAllHTMLSelectFormat&controlador=MaeCliente",
        dataType: 'json',
        cache : false,
        success: function(itemTemp){
            if(itemTemp.hasOwnProperty("ERROR")){
                showPopupBoxMessage(itemTemp.ERROR);
            }else if(itemTemp.hasOwnProperty("HTML")){                
                $("#codMaeCliente1").append(itemTemp.HTML);
                $("#codMaeCliente1").val(item.codMaeCliente1);                
            }
        },error :function(request, status, error){
            showPopupBoxMessage(error);
        }
    });
    
    
    switch(item.codMaeOperacionIdent){
        case "CONT":
            $(".TR_TipoCarga_CargaSuelta").hide();
            $(".TR_TipoCarga_Contenedor").show();
          break;
        case "CSUE":
            $(".TR_TipoCarga_CargaSuelta").show();
            $(".TR_TipoCarga_Contenedor").hide();
          break;
        default:
            $(".TR_TipoCarga_CargaSuelta").hide();
            $(".TR_TipoCarga_Contenedor").hide();
        }
}

function GetHeader(id ,controlador,operacion){
$("#id").val(id);

$.ajax({
    type: "POST",
    url: "../controlador/"+controlador+".php",
    data: "OPERACION="+operacion+"&controlador="+controlador+ "&id="+id ,
    dataType: 'json',
    cache : false,
    success: function(item){
        fillData(item);
    },error :function(request, status, error){
        showPopupBoxMessage(error);
    }
});

}
    
    
